"""
Utilities Module
================

Common utility functions and classes for the application.
"""

from .database import DatabaseManager
from .redis_client import RedisClient
from .jwt_handler import JWTHandler, jwt_handler, login_required, roles_required, permissions_required
from .password_hasher import PasswordHasher, password_hasher, hash_password, verify_password
from .validators import (
    validate_email, validate_username, validate_password,
    validate_name, validate_registration, validate_login,
    validate_password_reset, sanitize_input
)
from .response_formatter import ResponseFormatter, response_formatter, format_response

__all__ = [
    # Database
    'DatabaseManager',
    
    # Redis
    'RedisClient',
    
    # JWT
    'JWTHandler', 'jwt_handler',
    'login_required', 'roles_required', 'permissions_required',
    
    # Password
    'PasswordHasher', 'password_hasher',
    'hash_password', 'verify_password',
    
    # Validators
    'validate_email', 'validate_username', 'validate_password',
    'validate_name', 'validate_registration', 'validate_login',
    'validate_password_reset', 'sanitize_input',
    
    # Response formatting
    'ResponseFormatter', 'response_formatter', 'format_response'
]